﻿$(document).ready(function () {

    var servico = "http://cep.correiocontrol.com.br/";
    var url = "/ConsultasGerais/GetLocations";
    var map;
    var Latitude;
    var Longitude;

    function onCepDone(data) {
        $("#texto").html("");
        if (!data.bairro) {
            $("#texto").html('<b>' + "Cidade: " + '</b>' + data.localidade + '<br />' +
                             '<b>' + "UF: " + '</b>' + data.uf);
            mostraMap(data.localidade + " - " + data.uf);
        } else {
            $("#texto").html('<b>' + "Logradouro: " + '</b>' + data.logradouro + '<br />' +
                             '<b>' + "Bairro: " + '</b>' + data.bairro + '<br />' +
                             '<b>' + "Cidade: " + '</b>' + data.localidade + '<br />' +
                             '<b>' + "UF: " + '</b>' + data.uf);
            mostraMap(data.logradouro + ", " + data.localidade + " - " + data.uf);
        }
    }

    function onCepError(error) {
        $("#texto").html('<b>' + "Erro: " + '</b>'+"CEP Não Identificado");
        $("#map_canvas").html("");
    };

    function initialize(lat, lng, end) {

        var latlng = new google.maps.LatLng(lat, lng);

        var myOptions = {
            zoom: 15,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            title: end
        });
    }
    
    $('#btnShowLocations').click(function () {
        $.getJSON(servico + $("#CEP").val().replace("-","") + ".json").done(onCepDone).fail(onCepError);
    });


    function mostraMap(end) {
        $("#map_canvas").html('<i>' + "Carregando..." + '</i>');
        $.getJSON(url, { endereco: end }, function (data) {
            $.each(data, function (index, LocationData) {
                Latitude = LocationData.Latitude;
                Longitude = LocationData.Longitude;
                if (!Latitude) {
                    end = end.replace("Avenida", "Rua");
                    $.getJSON(url, { endereco: end }, function (data) {
                        $.each(data, function (index, LocationData) {
                            end = end.replace("Rua", "Avenida");
                            initialize(LocationData.Latitude, LocationData.Longitude, end);
                        });
                    });
                } else {
                    initialize(Latitude, Longitude, end);
                }
            });
        });
    };
        
});

function mascara(t, mask) {
    var i = t.value.length;
    var saida = mask.substring(1, 0);
    var texto = mask.substring(i)
    if (texto.substring(0, 1) != saida) {
        t.value += texto.substring(0, 1);
    }
}